#!/usr/bin/env node
// 必须有特定文件头，如果是mac或者linux需要修改读写权限，改成755 sudo chmod -R 755 你的文件夹名。
/* 
脚手架具体的实现过程
1. 通过交互式命令询问用户信息
2. 根据用户返回过来的结果，生成文件
3. 复制当前模版文件夹中的文件到 目标文件夹
*/
const fs= require('fs');
const inquirer = require('inquirer');
const path = require('path');
const ejs = require('ejs')
inquirer.prompt([{
    type:'input',
    name:'name',
    message:'project name?'
}]).then(answers => {
    // 模板目录
    const tmpDir = path.join(__dirname,'templates');
    // 目标目录
    const destDir = process.cwd();
    //将模板目录全部输出到目标目录
    fs.readdir(tmpDir,(err,files) => {
        if(err) throw err;
        files.forEach(file => {
            // 相对模板引擎的相对路径
            // 通过路径渲染文件
            // 先安装ejs, 绝对路径， 上下文环境，回调
            ejs.renderFile(path.join(tmpDir,file), answers, (err, result) => {
                if(err) throw err;
                fs.writeFileSync(path.join(destDir, file), result)
            })

        })

    })
})